کانال بله, جهت پشتیبانی و اطلاع رسانی کانال بله, جهت پشتیبانی و اطلاع رسانی
عضویت

آموزش CI With Map2-Java Spring

CI با استفاده از Map (2)

مثال تزریق سازنده با استفاده از Map غیر رشته ای(دارای شی وابسته)

در این مثال از map به عنوان پاسخی که شامل پاسخ و کاربر است، استفاده می¬شود. در اینجا از جفت کلید و مقدار به عنوان شی استفاده می کنیم. اطلاعات پاسخ و کاربر به ترتیب عبارتند از answerId , answer, postedDate] [و [userId, username, emailId]. همانند مثال¬های قبلی، این مثال نیز برگرفته از فرومی است که" یک سوال می تواند چندین پاسخ داشته باشد" .


Question.java :

این کلاس شامل سه خصیصه، دو سازنده و متد displayInfo() برای نمایش اطلاعات است.

package com.javatpoint;  
import java.util.Iterator;  
import java.util.Map;  
import java.util.Set;  
import java.util.Map.Entry;  
  
public class Question {  
private int id;  
private String name;  
private Map< Answer,User> answers;  
  
public Question() {}  
public Question(int id, String name, Map< Answer, User> answers) {  
    super();  
    this.id = id;  
    this.name = name;  
    this.answers = answers;  
}  
public void displayInfo(){  
    System.out.println("question id:"+id);  
    System.out.println("question name:"+name);  
    System.out.println("Answers....");  
    Set< Entry< Answer, User>> set=answers.entrySet();
    Iterator< Entry< Answer, User>> itr=set.iterator();
    while(itr.hasNext()){
        Entry< Answer, User> entry=itr.next();
        Answer ans=entry.getKey();
        User user=entry.getValue();
        System.out.println("Answer Information:");
        System.out.println(ans);
        System.out.println("Posted By:");
        System.out.println(user);
    }
}
}

Answer.java

package com.javatpoint;  
  
import java.util.Date;  
  
public class Answer {  
private int id;  
private String answer;  
private Date postedDate;  
public Answer() {}  
public Answer(int id, String answer, Date postedDate) {  
    super();  
    this.id = id;  
    this.answer = answer;  
    this.postedDate = postedDate;  
}  
  
public String toString(){  
    return "Id:"+id+" Answer:"+answer+" Posted Date:"+postedDate;  
}  
}  

User.java

package com.javatpoint;  
  
public class User {  
private int id;  
private String name,email;  
public User() {}  
public User(int id, String name, String email) {  
    super();  
    this.id = id;  
    this.name = name;  
    this.email = email;  
}  
  
public String toString(){  
    return "Id:"+id+" Name:"+name+" Email Id:"+email;  
}  
}   

applicationContext.xml:

از دو خصیصه key-ref و value-ref از عنصر entry ، برای تعریف مرجع bean در map استفاده می شود.

< ?xml version="1.0" encoding="UTF-8" ?>

< beans 3. xmlns="http://www.springframework.org/schema/beans"
         4. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         5. xmlns:p="http://www.springframework.org/schema/p"
         6. xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">  
  
< bean id="answer1" class="com.javatpoint.Answer">  
< constructor-arg value="1">< /constructor-arg>  
< constructor-arg value="Java is a Programming Language">< /constructor-arg>  
< constructor-arg value="12/12/2001">< /constructor-arg>  
< /bean>  
< bean id="answer2" class="com.javatpoint.Answer">  
< constructor-arg value="2">< /constructor-arg>  
< constructor-arg value="Java is a Platform">< /constructor-arg>  
< constructor-arg value="12/12/2003">< /constructor-arg>  
< /bean>  
  
< bean id="user1" class="com.javatpoint.User">  
< constructor-arg value="1">< /constructor-arg>  
< constructor-arg value="Arun Kumar">< /constructor-arg>  
< constructor-arg value="arun@gmail.com">< /constructor-arg>  
< /bean>  
< bean id="user2" class="com.javatpoint.User">  
< constructor-arg value="2">< /constructor-arg>  
< constructor-arg value="Varun Kumar">< /constructor-arg>  
< constructor-arg value="Varun@gmail.com">< /constructor-arg>  
< /bean>  
  
< bean id="q" class="com.javatpoint.Question">  
< constructor-arg value="1">< /constructor-arg>  
< constructor-arg value="What is Java?">< /constructor-arg>  
< constructor-arg>  
< map>  
< entry key-ref="answer1" value-ref="user1">< /entry>  
< entry key-ref="answer2" value-ref="user2">< /entry>  
< /map>  
< /constructor-arg>  
< /bean>  
  
< /beans>  

Test.java:

این کلاس bean را از فایل applicationContext.xml می گیرد و متد displayInfo() را برای نمایش اطلاعات فراخوانی می¬کند.

package com.javatpoint;  
  
import org.springframework.beans.factory.BeanFactory;  
import org.springframework.beans.factory.xml.XmlBeanFactory;  
import org.springframework.core.io.ClassPathResource;  
import org.springframework.core.io.Resource;  
  
public class Test {  
public static void main(String[] args) {  
    Resource r=new ClassPathResource("applicationContext.xml");  
    BeanFactory factory=new XmlBeanFactory(r);  
      
    Question q=(Question)factory.getBean("q");  
    q.displayInfo();  
      
}  
}  
1398/12/14 1566 524
رمز عبور : tahlildadeh.com یا www.tahlildadeh.com
نظرات شما

نظرات خود را ثبت کنید...